iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 15
0
自我挑戰組

我的語言自學接力系列 第 15

D15:[Java]例外 exception(基本概念)

  • 分享至 

  • xImage
  •  

程式在編譯時沒有錯誤訊息,卻在程式執行時發生錯誤。在 Java 中稱為「例外 exception」。

常見例外如:

  • 整數除以0
  • 輸入時型態的衝突 (例:希望使用者輸入數字,但卻輸入字母)
  • 陣列索引值超出容許範圍
  • .. 等)
    除了使用冗長的 if else 或switch 敘述做判斷,Java 例外處理的機制不僅能提高效率、且增加程式穩定性。

試查看以下程式碼:

public class exception01 {

	public static void main(String[] args) {
		int arr[]=new int[5];
	      arr[10]=7;
	      System.out.println("例外範例1");
	}
}

以上範例程式是可以正常編譯的,但卻在執行時會顯示錯誤訊息:

http://ithelp.ithome.com.tw/upload/images/20161204/20103312F4bMaTe4og.png

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10

at test.exception01.main(exception01.java:7)

從錯誤訊息當中,我們可以得知:第7行因為索引值超過容許範圍。
Java 發現這個錯誤,並拋出例外;

其中,常串的英文錯誤可從字母大寫開頭做拆開整理:

Array Index Out Of Bounds Exception : 10
意指「 陣列 索引職 超出範圍例外:10 」。

經過以上簡單範例,得知 Java 預設的例外處理會 「拋出例外」 並且「停止程式執行」。


在 Java 當中,例外以類別的型態存在;而在 Java 那也含有預設的例外類別 來做處理(如以上範例)。
不過 除了內建的例外處理之外,也允許自行定義例外類別的。

下篇將會帶入如何例外處理(exception handing)


如果您喜歡我的文章,可以至 4xDevJava 學習系列閱讀更多 Java 文章。


上一篇
D14:[Java]介面 interface 延伸
下一篇
D16:[Java]例外處理 exception handing(基本概念)
系列文
我的語言自學接力31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言